Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DOCS] Add concepts section to analysis topic #50801

Merged
merged 2 commits into from
Jan 16, 2020
Merged

[DOCS] Add concepts section to analysis topic #50801

merged 2 commits into from
Jan 16, 2020

Conversation

jrodewig
Copy link
Contributor

@jrodewig jrodewig commented Jan 9, 2020

Adds a new 'Concepts' page to the analysis topic.

This helps the topic to better match the structure of
our machine learning docs, e.g.
https://www.elastic.co/guide/en/machine-learning/current/ml-concepts.html

This PR only includes the 'Anatomy of an analyzer' page as a child page,
but I plan to add other concepts, such as 'Index time vs. search time',
with later PRs.

This helps the topic to better match the structure of
our machine learning docs, e.g.
https://www.elastic.co/guide/en/machine-learning/7.5/ml-concepts.html

This PR only includes the 'Anatomy of an analyzer' page as a 'Concepts'
child page, but I plan to add other concepts, such as 'Index time vs.
search time', with later PRs.
@jrodewig jrodewig added >docs General docs changes :Search Relevance/Analysis How text is split into tokens labels Jan 9, 2020
@jrodewig jrodewig requested a review from debadair January 9, 2020 15:55
@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-docs (>docs)

@elasticmachine
Copy link
Collaborator

Pinging @elastic/es-search (:Search/Analysis)

@@ -1,5 +1,5 @@
[[analyzer-anatomy]]
== Anatomy of an analyzer
=== Anatomy of an analyzer
Copy link
Contributor Author

@jrodewig jrodewig Jan 9, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No substantive changes were made to this page. Simply adjusted headings and attributes so they would display normally. I plan to do an overhaul of this page in an upcoming PR.


This section explains the fundamental concepts of text analysis in {es}.

* <<analyzer-anatomy>>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a bit sparse at the moment, but I plan to move some of the index/search time analysis content here from the top-level Analysis page in an upcoming PR.

@jrodewig jrodewig changed the title [DOCS] Add 'Concepts' page to analysis topic [DOCS] Add concepts section to analysis topic Jan 9, 2020
@debadair
Copy link
Contributor

What is the value in introducing another nav layer with the "concepts" bucket? I feel like this approach is going to proliferate more content-free nav pages that users land on and have to click through. For the ML book, it's just one page, but if we do this throughout the ES ref, we're going to have a bunch of concept link-farms.

If we want to adopt a "page per concept" model (for SEO?), is there a reason that they aren't just part of the Overview section? I sort of feel like introducing the concepts that are central to a feature is the whole point of the overview sections.

I can see the value in having a consistent approach across the doc set, but this feels like it's inclined to propagate patterns that we know are problematic: content-free pages and a lot of short pages.

@jrodewig
Copy link
Contributor Author

Thanks for your feedback @debadair. Responses below.

What is the value in introducing another nav layer with the "concepts" bucket?

It explicitly labels conceptual docs, differentiating them from other types of documentation.

Making this explicit helps guide our users. It lets them know what kind of content to expect in the bucket.

It also helps guide contributors, who know what type of content to place here, and serves as a quick indicator of whether content for a particular concept already exists.

I feel like this approach is going to proliferate more content-free nav pages that users land on and have to click through.

This is a feature, not a bug. If a user lands on this page, they are likely looking for broad information ("Elasticsearch analysis concepts") or the content they want likely doesn't exist. This nav page helps orient the user in both cases.

For the ML book, it's just one page, but if we do this throughout the ES ref, we're going to have a bunch of concept link-farms.

It's two pages:

Regardless, I'm confused about why this would be permissible as a one-off but not a pattern. Bad practice is bad practice?

If we want to adopt a "page per concept" model (for SEO?), is there a reason that they aren't just part of the Overview section?

There are a few reasons:

  • "Overview" does not explicitly label the docs as "conceptual documentation"
  • The overview content is not conceptual documentation. The overview helps the user learn what problems the feature solves and when they should use it. Conceptual docs go deeper and explain how the feature works, including the specific components used.
  • It allows users to explore and read about subtopics individually rather than dumping all the information at once.

I can see the value in having a consistent approach across the doc set, but this feels like it's inclined to propagate patterns that we know are problematic: content-free pages and a lot of short pages.

Aside from anecdotes, how do we know navigation pages are problematic?

Anecdotally, I've heard feedback both from users and Elastic leadership that our docs often contain "walls of text." As stated above, I think the nav page gives users and contributors good guideposts.

Copy link
Contributor

@szabosteve szabosteve left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@lcawl
Copy link
Contributor

lcawl commented Jan 10, 2020

Another thing @szabosteve and I have considered is using metadata to indicate content types, so that when we have a better navigation structure, users can filter on different content types. We aren't at the implementation stage yet, but I've played around with inserting this type of metadata in elastic/stack-docs#802
I've just put "concepts" and "reference" in there for now, but if we go forward we might want to consider what other types are applicable across multiple books and useful to users. And what other types of metadata (e.g. audience) are useful.

@jrodewig jrodewig merged commit 0605eb2 into elastic:master Jan 16, 2020
@jrodewig jrodewig deleted the add-analysis-concepts branch January 16, 2020 18:00
jrodewig added a commit that referenced this pull request Jan 16, 2020
This helps the topic better match the structure of
our machine learning docs, e.g.
https://www.elastic.co/guide/en/machine-learning/7.5/ml-concepts.html

This PR only includes the 'Anatomy of an analyzer' page as a 'Concepts'
child page, but I plan to add other concepts, such as 'Index time vs.
search time', with later PRs.
jrodewig added a commit that referenced this pull request Jan 16, 2020
This helps the topic better match the structure of
our machine learning docs, e.g.
https://www.elastic.co/guide/en/machine-learning/7.5/ml-concepts.html

This PR only includes the 'Anatomy of an analyzer' page as a 'Concepts'
child page, but I plan to add other concepts, such as 'Index time vs.
search time', with later PRs.
@jrodewig
Copy link
Contributor Author

Thanks @szabosteve!

jrodewig added a commit that referenced this pull request Jan 16, 2020
This helps the topic better match the structure of
our machine learning docs, e.g.
https://www.elastic.co/guide/en/machine-learning/7.5/ml-concepts.html

This PR only includes the 'Anatomy of an analyzer' page as a 'Concepts'
child page, but I plan to add other concepts, such as 'Index time vs.
search time', with later PRs.
@jrodewig
Copy link
Contributor Author

Backport commits

master: 0605eb2
7.x: ef26763
7.6: 0e29443
7.5: 0605eb2

SivagurunathanV pushed a commit to SivagurunathanV/elasticsearch that referenced this pull request Jan 23, 2020
This helps the topic better match the structure of
our machine learning docs, e.g.
https://www.elastic.co/guide/en/machine-learning/7.5/ml-concepts.html

This PR only includes the 'Anatomy of an analyzer' page as a 'Concepts'
child page, but I plan to add other concepts, such as 'Index time vs.
search time', with later PRs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
>docs General docs changes :Search Relevance/Analysis How text is split into tokens
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants